home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-21 | 76.4 KB | 1,395 lines |
- F77(1) Last changed: 2-21-98
-
-
- NNAAMMEE
- ff7777, ffoorrtt7777 - MIPS and MIPSpro F77 compiler
-
- SSYYNNOOPPSSIISS
- ff7777 [----] [--6644] [--aalliiggnn_n] [--aannssii[[_a_r_g]]] [--aavvooiidd__ggpp__oovveerrffllooww]
- [--bbaacckkssllaasshh] [--cc] [--cchhaarraarrgg11] [--cchhuunnkk==_i_n_t_e_g_e_r] [--ccooll_n] [--ccoorrdd] [--ccpppp]
- [--ccrraayylliibbss] [--DD_n_a_m_e==[[_d_e_f]]] [--DDEEBBUUGG::......] [--dd_n] [--dd__lliinneess]
- [--dduummpp__iinnppuutt] [--EE] [--eexxppaanndd__iinncclluuddee] [--eexxtteenndd__ssoouurrccee] [--FFLLIISSTT::......]
- [--ffbb_f_i_l_e] [--ffee] [--ffeeeeddbbaacckk] [--GG_n_u_m] [--gg_l_e_v_e_l] [--hheellpp] [--II] [--ii_n]
- [--iiggnnoorree__ssuuffffiixx] [--IINNLLIINNEE::......] [--IIPPAA::......] [--kkeeeepp] [--kkeeeeppddoollllaarr]
- [--KKPPIICC] [--LL_d_i_r_e_c_t_o_r_y] [--ll_l_i_b_r_a_r_y] [--LLAANNGG::rreeccuurrssiivvee==_f_l_a_g] [--LLIISSTT::......]
- [--lliissttiinngg] [--LLNNOO::......] [--MM] [--MMDDuuppddaattee_f_i_l_e_n_a_m_e] [--MMPP::......] [--mmiippss_n]
- [--mmpp] [--mmpp__kkeeeepp] [--mmppiioo] [--mmpp__sscchheeddttyyppee==_t_y_p_e] [--nn3322] [--NNCC_n_n_n]
- [--nnooaappppeenndd] [--nnooccpppp] [--nnooeexxppoopptt] [--nnooeexxtteenndd__ssoouurrccee] [--nnooff7777] [--nnooii44]
- [--nnoonn__sshhaarreedd] [--nnoossttddiinncc] [--oonneettrriipp] [--oo_o_u_t_p_u_t] [--OO_l_e_v_e_l] [--OOPPTT::......]
- [--PP] [--ppffaa[[_a_r_g]]] [--ppffaapprreeppaassss] [--rr_n] [--rr55000000] [--rr88000000] [--rr1100000000] [--SS]
- [--sshhooww] [--sshhooww__ddeeffaauullttss] [--ssttaattiicc] [--TTAARRGG::......] [--TTEENNVV::......] [--UU_n_a_m_e]
- [--uussee__rreeaaddwwrriittee__ccoonnsstt||--uussee__rreeaaddoonnllyy__ccoonnsstt] [--vveerrssiioonn] [--wwooffff_n_u_m_b_e_r]
- [--xxggoott] _f_i_l_e.[_s_u_f_f_i_x]
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- IRIX systems
-
- MMAANN PPAAGGEE OORRGGAANNIIZZAATTIIOONN
- This man page describes each option to the ff7777 compiler command.
-
- The man page is divided into the following subsections:
-
- * DESCRIPTION, which provides a general overview about the compiler.
-
- * ISA/ABI COMMAND LINE OPTIONS, which describes the specific command
- line options needed to select a specific Application Binary
- Interface (ABI) or Instruction Set Architecture (ISA).
-
- * OPTION DESCRIPTIONS, which provides a complete description of each
- compiler option. The options are described in alphabetical order.
-
- * OPTIONS FOR DEVELOPMENT, which lists several options used to aid
- compiler development and which are not generally used.
-
- The information for the --oo3322 ABI is no longer included on this man
- page. See the oo3322(5) man page for details.
-
- All optimization information has also been moved from this man page
- and is now on separate man pages. See the LLNNOO(5) man page and the
- OOPPTT(5) man page for information about the --LLNNOO and the --OOPPTT options.
-
- DDEESSCCRRIIPPTTIIOONN
- The SGI Fortran 77 compiler supports three different Application
- Binary Interfaces (ABI) controlled by the --oo3322, --nn3322, and --6644 options
- (see aabbii((55)) for information about the Application Binary Interface).
- The --oo3322 options are described on the oo3322(5) man page.
-
- The compiler produces files in the following formats:
-
- * SGI object code in eellff format (the normal result)
-
- * binary intermediate files
-
- * symbolic assembly language
-
- * binary ucode files (--oo3322 only)
-
- ff7777 accepts several types of arguments:
-
- * Arguments with names ending with ..ff or ..FF are assumed to be FORTRAN
- 77 source programs. The programs are compiled, and each object
- program is left in a file named with the last component of the
- source, with ..oo substituted for the ..ff or ..FF extensions. The ..oo
- file is deleted only when a single source program is compiled and
- loaded at one time.
-
- * Arguments with names ending with ..ss are assumed to be symbolic
- assembly language source programs. When these programs are
- assembled, they produce a ..oo file.
-
- * Arguments with names ending with ..ii are assumed to be ff7777 source
- after being processed by the C preprocessor. They are compiled
- without predefining any symbols. The --nnooccpppp option is ignored when
- compiling ..ii files.
-
- The following are the predefined symbols used by ff7777 for ..ff or ..FF
- files:
-
- LLAANNGGUUAAGGEE__FFOORRTTRRAANN __LLAANNGGUUAAGGEE__FFOORRTTRRAANN
-
- MMIIPPSSEEBB __MMIIPPSSEEBB
-
- mmiippss hhoosstt__mmiippss
-
- ____hhoosstt__mmiippss ssggii
-
- ____ssggii __SSGGII__SSOOUURRCCEE
-
- __SSYYSSTTYYPPEE__SSVVRR44 __SSVVRR44__SSOOUURRCCEE
-
- uunniixx ____uunniixx
-
- ff7777 defines the LLAANNGGUUAAGGEE__AASSSSEEMMBBLLYY and __LLAANNGGUUAAGGEE__AASSSSEEMMBBLLYY preprocessor
- symbols when a ..ss file is being compiled. Use the ff7777 --sshhooww command
- to check the definitions that are in use.
-
- OOppttiioonn ggrroouuppss
- Many ff7777 options can be divided into _o_p_t_i_o_n _g_r_o_u_p_s of related options;
- for example, those that specify optimization choices, or that specify
- target machine attributes.
-
- The following is the command line format for group options:
-
- -_g_r_o_u_p_n_a_m_e::_o_p_t_i_o_n[==_v_a_l_u_e]][[::_o_p_t_2[[==_v_a_l_2]]]]......
-
- The group name is followed by a colon-separated list of options.
- These options are composed of an option name which can be followed by
- an equal sign and a value. The option name can be abbreviated by
- truncating it to a unique prefix; note that the abbreviation may
- change when new options are added to the group.
-
- These option groups are available only when compiling with --nn3322 or
- --6644.
-
- The options described on this man page are interpreted by ff7777. See lldd
- (1) for load-time options.
-
- IISSAA//AABBII CCOOMMMMAANNDD LLIINNEE OOPPTTIIOONNSS
- The following options control the choice of ABI and Instruction Set
- Architecture (ISA).
-
- --oo3322 or --3322 Generate a 32-bit object. This defaults to --mmiippss22 if
- --mmiippss11 is not specified. This is the default when
- compiling on any non-R8000 based system, if no default
- specification file is present. See the oo3322(5) man page
- for details.
-
- --6644 Generate a 64-bit object. This defaults to --mmiippss44 if
- --mmiippss33 is not specified. This is the default when
- compiling on any R8000 based system, if no default
- specification file is present. See the Defaults
- Specification Files subsection at the end of this man
- page for details.
-
- --nn3322 Generate an nn3322 object. This defaults to --mmiippss33 if
- --mmiippss44 is not specified.
-
- --mmiippss_n Determine architecture type. _n can be one of the
- following values:
-
- 11 Generate code using the instruction set of the
- R2000/R3000 RISC architecture, and search for
- mmiippss11 libraries/objects at link time. This
- defaults to --oo3322..
-
- 22 Generate code using the MIPS II instruction set
- (MIPS I + R4000 specific extensions), and search
- for mmiippss22 libraries/objects at link time. This
- defaults to --oo3322..
-
- 33 Generate code using the full MIPS III (e.g. R4000)
- instruction set, and search for mmiippss33
- libraries/objects at link time. This defaults to
- --nn3322 if --6644 has not been specified. On R8000-
- based systems this defaults to --6644.
-
- 44 Generate code using the full MIPS IV instruction
- set which is supported on R10000, R5000 and R8000
- systems. Also search for mmiippss44 libraries/objects
- at link time. This is the default on R8000
- systems. This defaults to --nn3322 if --6644 is not
- specified. On R8000-based systems it defaults to
- --6644.
-
- OOPPTTIIOONN DDEESSCCRRIIPPTTIIOONNSS
- ---- Specify the first option to be discarded.
-
- In XPG4 mode, standard utilities that do not accept
- options but do accept operands recognize ---- as the
- first argument to be discarded. This is used by
- portable applications as a way to shield their operands
- from any arbitrary options that the implementation may
- provide as an extension.
-
- For example, if the standard utility ffoooo is listed as
- taking no options, and the application must give it a
- pathname with a leading hyphen, it could safely do it
- as the following:
-
- ffoooo ---- --mmyyffiillee
-
- This avoids any problems with --mm used as an extension.
-
- --aalliiggnn_n Determine object alignment. Valid for all ABIs. _n can
- be one of the following values:
-
- 88 Permits objects larger than 8 bits to be aligned
- on 8-bit boundaries. Using this option has the
- largest impact on performance.
-
- 1166 Permits objects larger than 16 bits to be aligned
- on 16-bit boundaries. 16-bit objects must still be
- aligned on 16-bit boundaries as per MC68000-like
- alignment rules.
-
- 3322 Permits objects larger than 32 bits to be aligned
- on 32-bit boundaries. 16-bit objects must still be
- aligned on 16-bit boundaries, and 32-bit objects
- must still be aligned on 32-bit boundaries. This
- is the default for MIPS 1 code.
-
- 6644 Enforces alignment on 64-bit boundaries for 64-bit
- and larger objects; all smaller objects must still
- be aligned on the corresponding boundaries. This
- is the default for programs compiled with the
- --mmiippss22 option.
-
- 112288 Enforces alignment on 128-bit boundaries for 128-
- bit objects; all smaller objects must still be
- aligned on the corresponding boundaries. This is
- the default for programs compiled with the --nn3322 or
- --6644 options.
-
- --aannssii[[_a_r_g]] Determine diagnostic messages.
-
- Using --aannssii without any argument causes the compiler to
- diagnose any use of extensions which are not defined in
- the ANSI FORTRAN 77 standard. Valid for all ABIs. This
- option is ignored if --oo3322 is used.
-
- Using --aannssiiEE causes the compiler to issue error
- messages for the use of extensions which are not
- defined in the ANSI FORTRAN 77 standard.
-
- Using --aannssiiWW causes the compiler to issue warning
- messages for the use of extensions which are not
- defined in the ANSI FORTRAN 77 standard.
-
- aannssiiWW is the default.
-
- --aavvooiidd__ggpp__oovveerrffllooww
- Assert flags which are intended to avoid Global Offset
- Table (GOT) overflow.
-
- --bbaacckkssllaasshh Treat the backslash character as a normal character
- instead of as an escape sequence character. Valid for
- all ABIs. For example, when this is used the sequence
- "\t" is treated as two separate characters instead of
- as a single TTAABB character.
-
- --cc Suppress the loading phase of the compilation and force
- an object file to be produced even if only one program
- is compiled.
-
- --cchhaarraarrgg11 Count arguments on the argument stack. Used with --nn3322
- or --6644 only. For subroutines accepting a variable
- number of arguments, the default is to count all
- arguments on the argument stack. Therefore, for each
- character argument, the count will be 2 because both
- the address of the character argument and its length
- are put on the argument stack. The --cchhaarraarrgg11 option is
- provided to count each character argument as only one
- argument.
-
- --cchhuunnkk==_i_n_t_e_g_e_r Cause the same effect as putting a CC$$CCHHUUNNKK==_i_n_t_e_g_e_r
- directive at the beginning of the file.
-
- --ccoorrdd Run the procedure rearranger. See the cccc(1) man page
- for details.
-
- --ccooll_n Determine the source statement format. _n can be one of
- the following:
-
- 7722 Sets the source statement format to the following:
-
- CCoolluummnn CCoonntteennttss
-
- 1-5 Statement label
-
- 6 Continuation indicator
-
- 7-72 Statement body
-
- 73-end Ignored
-
- 112200 Sets the source statement format to the following:
-
- CCoolluummnn CCoonntteennttss
-
- 1-5 Statement label
-
- 6 Continuation indicator
-
- 7-120 Statement body
-
- 121-end Ignored
-
- --ccpppp Run the C macro preprocessor on the files before
- compiling. This is the default.
-
- --ccrraayylliibbss Uses the Cray Research I/O library.
-
- --DD_n_a_m_e==[[_d_e_f]] or --DD_n_a_m_e
- Define the _n_a_m_e to the C macro preprocessor, as if by
- ##ddeeffiinnee. If no definition is given, the name is
- defined as 11.
-
- --DDEEBBUUGG::... Use the debugging features. This option controls
- compiler features related to debugging; for example,
- checking for possible errors (at compile time or
- execution time), or controlling the treatment of
- warning messages. See the DDEEBBUUGG__ggrroouupp(5) man page for
- more information, including the individual options in
- this group. Also see the --gg option for controlling
- information produced for the debugger.
-
- --dd_n Set double precision variable size. Valid for all
- ABIs. _n can be one of the following values:
-
- 88 Use RREEAALL**88 for any variables declared as DDOOUUBBLLEE
- PPRREECCIISSIIOONN, and CCOOMMPPLLEEXX**1166 for any variables
- declared as DDOOUUBBLLEE CCOOMMPPLLEEXX. This is the default.
-
- 1166 Use RREEAALL**1166 for any variables declared as DDOOUUBBLLEE
- PPRREECCIISSIIOONN, and CCOOMMPPLLEEXX**3322 for any variables
- declared as DDOOUUBBLLEE CCOOMMPPLLEEXX.
-
- 1166ccoonnsstt
- Use RREEAALL**1166 and CCOOMMPPLLEEXX**3322 as the defaults for
- DDOOUUBBLLEE PPRREECCIISSIIOONN and DDOOUUBBLLEE CCOOMMPPLLEEXX constants,
- respectively, except when used as actual
- arguments. Used with --nn3322 or --6644 only.
-
- --dd__lliinneess Specify that lines with a DD in column 1 are to be
- compiled and not to be treated as comment lines. Valid
- for all ABIs. The default is to treat lines with a DD in
- column 1 as comment lines.
-
- --dduummpp__iinnppuutt Generate the Fortran listing file to ssttddeerrrr. Used with
- --nn3322 or --6644 only.
-
- --EE Run only the C macro preprocessor files (without
- considering suffixes), and send the result to the
- standard output. The resultant output will contain
- line directives. This overrides the --nnooccpppp option.
-
- --eexxppaanndd__iinncclluuddee
- Expand all iinncclluuddee statements in the Fortran listing
- file. Used with --nn3322 or --6644 only. This option is only
- applicable when used with the --lliissttiinngg option.
-
- --eexxtteenndd__ssoouurrccee Pad each source line (if necessary) to make it 132
- bytes long and give a warning if it exceeds 132 bytes.
- Valid for all ABIs.
-
- --FFLLIISSTT:: ...... Invoke the Fortran listing control group, (which
- controls production of the compiler's internal program
- representation back into Fortran code), after IPA
- inlining and loop-nest transformations. This is used
- primarily as a diagnostic tool, and the generated
- Fortran code may not always compile. This option may
- be discontinued in future compiler releases.
-
- The following are the individual controls in this
- group:
-
- ==_f_l_a_g Enable or disable the listing. _f_l_a_g can be
- either OONN or OOFFFF. This option is implied by
- any of the others, but may be used to enable
- the listing when no other options are
- required, as in this example:
-
- --FFLLIISSTT::==OONN
-
- aannssii__ffoorrmmaatt==_f_l_a_g
- Set the ANSI format. _f_l_a_g can be either OONN
- or OOFFFF. This uses a space (instead of tab)
- indentation and a maximum of 72 characters
- per line. The default is OOFFFF.
-
- eemmiitt__ppffeettcchh==_f_l_a_g
- Indicate prefetch information as comments in
- the transformed source. _f_l_a_g can be either
- OONN or OOFFFF.
-
- In the listing, the upper case PPRREEFFEETTCCHH
- denotes a prefetch and includes the variable
- reference (with an offset in bytes), an
- indication of read/write, a stride for each
- dimension, and a number in the range from 1
- (low) to 3 (high) reflecting the confidence
- in the prefetch analysis. The lower case
- pprreeffeettcchh comments identify the reference(s)
- being prefetched by the PPRREEFFEETTCCHH descriptor
- above. The comments occur after a read/write
- to a variable, and give the identifier of the
- PPRREEFFEETTCCHH-spec for each level of the cache.
- The default is OOFFFF.
-
- ffttnn__ffiillee==_f_i_l_e_n_a_m_e
- Specify the file where the program will be
- stored. This defaults to the source file
- name with extension ..ww22ff..ff.
-
- lliinneelleennggtthh==_n
- Set the maximum line length to _n characters.
-
- sshhooww==_f_l_a_g Print the input and output filenames to
- ssttddeerrrr. _f_l_a_g can be either OONN or OOFFFF. The
- default is OONN.
-
- --ffbb _f_i_l_e Specify the feedback file to be used. Used with --nn3322
- or --6644 only. This file (with the suffix ..ccffbb) can be
- produced by pprrooff(1) with its --ffeeeeddbbaacckk option from or
- more ..CCoouunnttss files generated by the execution of the
- instrumented program produced by ppiixxiiee(1).
-
- --ffee Stop compilation immediately after the front-end is
- run. Used with --nn3322 or --6644 only.
-
- --ffeeeeddbbaacckk Specify the feedback file to use. See the cccc(1) man
- page for details.
-
- --GG_n_u_m Specify the maximum size, in bytes, of a data item that
- is to be accessed from the global pointer. _n_u_m must a
- decimal number.
-
- If _n_u_m is 0, no data is accessed. The default value
- for _n_u_m is 8 bytes. Data stored relative to the global
- pointer can be accessed by the program quickly, but
- this space is limited. Large programs may overflow the
- space accessed by the global pointer at load time.
-
- If the loader gives the BBaadd --GG nnuumm vvaalluuee error message,
- recompile the program with --GG00. Use the same value for
- this option or for compiling all files that comprise a
- program executable or DSO. A preferred alternative is
- to use the --TTEENNVV sshhoorrtt__lliittss and --TTEENNVV sshhoorrtt__ddaattaa
- options from the --TTEENNVV:: option group (see the
- description for --TTEENNVV for details). The --TTEENNVV options
- provide better control. Either of those options
- override --GG.
-
- This option is non-standard and may not be supported
- across product lines.
-
- --gg_l_e_v_e_l Set debugging level. _l_e_v_e_l can have one of the
- following values:
-
- 11 Produce no debugging information for symbolic
- debugging. This is the default.
-
- --gg or 22
- Produce additional debugging information for full
- symbolic debugging and not do optimizations that
- limit full symbolic debugging. These values
- override the --OO, --OO11, --OO22, --OO33 optimization
- options.
-
- 33 Produce additional debugging information for
- symbolic debugging of fully optimized code. This
- option makes the debugger inaccurate. This option
- can be used with the --OO, --OO11, --OO22, --OO33
- optimization options.
-
- --hheellpp List all available options; this does not invoke the
- compiler. Used with --nn3322 or --6644 only.
-
- --II[[_d_i_r]] Determine searching options for iinncclluuddee files. Using
- --II without an argument disables searching for ##iinncclluuddee
- files in the standard directory ( //uussrr//iinncclluuddee ). This
- option will be phased out in a future release;
- --nnoossttddiinncc should be used in its place.
-
- Using --II _d_i_r allows you to specify a directory for
- searching.
-
- ##iinncclluuddee files whose names do not begin with // are
- always sought first in the directory of the _f_i_l_e
- argument, then in directories specified in --II options,
- and finally in the standard directory (//uussrr//iinncclluuddee).
-
- --ii_n Set size for integer values. Valid for all ABIs. _n
- can be one of the following values:
-
- 22 Make the default integer constants and variables
- short (2 bytes). All logical quantities will also
- be short.
-
- 44 Make the default integer constants and variables
- long (4 bytes). All logical quantities will also
- be long. This is the default.
-
- 88 Make the default integer constants and variables
- 64 bits (8 bytes). All logical quantities will
- also be 64 bits.
-
- --iiggnnoorree__ssuuffffiixx Set compiler invocation. Used with --nn3322 or --6644 only.
- By default the compiler uses file suffixes to determine
- the programming compile language. For example, ff7777
- ffiillee..cc invokes the C compiler. By using the
- --iiggnnoorree__ssuuffffiixx option, the language is determined
- solely by how the compiler is invoked. Therefore, in
- the above example, ff7777 ffiillee..cc invokes the F77 compiler.
-
- --IINNLLIINNEE:: ...... Invoke the standalone inliner option group, which
- controls application of intra-file subprogram inlining
- when interprocedural analysis is not enabled. See the
- description of --IIPPAA for details. See the iippaa((55)) man
- page for more information, including the individual
- options in this group.
-
- --IIPPAA:: ... Invoke the Inter-Procedural Analyzer option group which
- controls application of inter-procedural analysis and
- optimization, including inlining, common block array
- padding, constant propagation, dead function
- elimination, alias analysis and others. Use --IIPPAA by
- itself to invoke the interprocedural analysis phase
- with default options. If you compile the program and
- link it in distinct steps, you must use at least --IIPPAA
- for the compile step, and specify --IIPPAA and the
- individual options in the group for the link step. See
- the iippaa((55)) man page for more information, including the
- individual options in this group.
-
- --kkeeeepp Build intermediate compilation files named after the
- corresponding source files, with the suffix replaced by
- one that is appropriate for the type of intermediate
- file (e.g. the front end generates a binary
- intermediate ..BB file). These intermediate files are
- never removed even when a compilation pass encounters a
- fatal error.
-
- This option is non-standard and may not be supported
- across product lines.
-
- --kkeeeeppddoollllaarr Treat $$ as a normal last character. Used with --nn3322 or
- --6644 only.
-
- --KKPPIICC Generate position-independent code (PIC). This is the
- default and is needed for programs linking with dynamic
- shared libraries. Specify --nnoonn__sshhaarreedd on the command
- line to disable the generation of PIC code.
-
- --LL _d_i_r_e_c_t_o_r_y Change the algorithm of searching for libraries in XPG4
- mode. _d_i_r_e_c_t_o_r_y is the path to a directory that should
- be searched before using the default system libraries.
- Directories named are searched in the specified order.
- You can specify multiple --LL options on the command
- line.
-
- --ll _l_i_b_r_a_r_y Search the library named lliibb..IIRR_l_i_b_r_a_r_y..aa (XPG4 mode).
- A library is searched when its name is encountered, so
- the placement of this option is significant.
-
- --LLAANNGG:: rreeccuurrssiivvee==_f_l_a_g
- Invoke the language option control group to control
- recursion support. _f_l_a_g can be either OONN or OOFFFF. In
- either mode, the compiler supports a recursive, stack-
- based calling sequence. The difference lies in the
- optimization of statically allocated local variables.
- With --LLAANNGG::rreeccuurrssiivvee==OONN, a statically allocated local
- variable could be referenced or modified by a recursive
- procedure call, and therefore must be stored into
- memory before making a call and reloaded afterwards.
-
- With --LLAANNGG::rreeccuurrssiivvee==OOFFFF, the compiler can safely
- assume a statically allocated local variable will not
- be referenced or modified by a procedure call and will
- be able to optimize more aggressively.
-
- The default is --LLAANNGG::rreeccuurrssiivvee==OOFFFF.
-
- --LLIISSTT:: ...... Invoke the listing option flag, which controls
- information that is written to a listing (..ll) file and
- to the assembly listing file if the ff7777 --SS option is
- used.
-
- The following are the individual controls in this
- group:
-
- ==_f_l_a_g Enable or disable writing the listing file.
- _f_l_a_g can be either OONN or OOFFFF. The default is
- --LLIISSTT==OONN if any --LLIISSTT:: group options are
- enabled. By default, the listing file
- contains a list of options enabled.
-
- aallll__ooppttiioonnss==_f_l_a_g
- Enable or disable listing of most supported
- options. _f_l_a_g can be either OONN or OOFFFF. The
- default is --LLIISSTT::aallll__ooppttiioonnss==OOFFFF.
-
- nnootteess==_f_l_a_g
- Enable or disable comment notes. If an
- assembly listing is generated (for example,
- when using ff7777 --SS) parts of the compiler such
- as software pipelining can place notes into
- the program as comments describing what has
- been done. Setting this option to
- --LLIISSTT::nnootteess==OOFFFF suppresses the notes. The
- default is --LLIISSTT::nnootteess==OONN.
-
- ooppttiioonnss==_f_l_a_g
- Enable or disable listing of the options
- modified (directly in the command line, or
- indirectly as a side effect of other
- options). _f_l_a_g can be either OONN or OOFFFF. The
- default is --LLIISSTT::ooppttiioonnss==OOFFFF.
-
- ssyymmbboollss==_f_l_a_g
- Enable or disable listing of information
- about the symbols (variables) managed by the
- compiler. _f_l_a_g can be either OONN or OOFFFF.
-
- --lliissttiinngg Produce the listing file which has the source listing
- (with line type code), compilation flags, and error
- codes. The listing file has a ..LL extension.
-
- --LLNNOO Invoke the loop nest optimizer. See the LLNNOO(5) man
- page for details about the options available with --LLNNOO.
-
- --MM Run only the macro preprocessor on the named C
- programs, requesting it to generate mmaakkee dependencies
- and send the result to the standard output. Used with
- --nn3322 or --6644 only.
-
- --MMDDuuppddaattee _f_i_l_e_n_a_m_e
- While compiling, update _f_i_l_e_n_a_m_e to contain header,
- library, and runtime mmaakkee(1) dependencies for the ff7777
- output file. ff7777 --MMDDuuppddaattee updates only lines that end
- with a distinctive mmaakkee comment and begin with the name
- of the output file followed by a colon. Used with --nn3322
- or --6644 only.
-
- --MMPP:: ...... Enable or disable multiprocessing features under --nn3322
- and --6644. All of the features are enabled by default
- under --mmpp.. The following are the individual controls in
- this group:
-
- ddssmm==_f_l_a_g Enable or disable data distribution. _f_l_a_g
- can be either OONN or OOFFFF. The default is
- --MMPP::ddssmm==OONN.
-
- cclloonnee==_f_l_a_g
- Enable or disable auto-cloning. _f_l_a_g can be
- either OONN or OOFFFF. The compiler automatically
- clones procedures that are called with
- reshaped arrays as parameters for the
- incoming distribution. However, if you have
- explicitly specified the distribution on all
- relevant formal parameters, you can disable
- auto-cloning with --MMPP::cclloonnee==OOFFFF.. The
- consistency checking of the distribution
- between actual and formal parameters is not
- affected by this flag, and is always enabled.
-
- cchheecckk__rreesshhaappee==_f_l_a_g
- Enable or disable generation of the runtime
- consistency checks across procedure
- boundaries when passing reshaped arrays (or
- portions thereof) as parameters. _f_l_a_g can be
- either OONN or OOFFFF. The default is
- --MMPP::cchheecckk__rreesshhaappee==OOFFFF.
-
- ooppeenn__mmpp==_f_l_a_g
- Enable or disable compiler to use OpenMP
- directives. _f_l_a_g can be either OONN or OOFFFF.
- The default is --MMPP::ooppeenn__mmpp==OONN.
-
- oolldd__mmpp==_f_l_a_g
- Enable or disable recognition of the Silicon
- Graphics multiprocessing directives and the
- PCF directives. These directives are
- outmoded; their preferred alternatives are
- the OpenMP directives, which are described in
- the _M_I_P_S_p_r_o _F_o_r_t_r_a_n _7_7 _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_e.
- _f_l_a_g can be either OONN or OOFFFF.
-
- When debugging a multiprocessed program with ddbbxx, issue
- the following command:
-
- ignore TERM
-
- When debugging a multiprocessed program with ccvvdd,
- select the VViieewwss//SSiiggnnaall panel, and select ddiissaabbllee
- SSIIGGTTEERRMM.
-
- Debugging is possible without these commands, but the
- program may not terminate gracefully after execution.
-
- --mmpp Enable the multiprocessing and distributed shared
- memory (DSM) (--nn3322, --6644) directives.
-
- --mmpp__kkeeeepp Keep the compiler generated temporary file and generate
- correct line numbers for debugging multiprocessed DDOO
- loops. Valid for all ABIs. This option should be used
- with either the --mmpp or the --ppffaa options. The saved
- file name has the following form:
-
- $$TTMMPPDDIIRR//PP<<_u_s_e_r__s_u_b_r_o_u_t_i_n_e__n_a_m_e>><<_m_a_c_h_i_n_e__n_a_m_e>><<_p_i_d>>
-
- If the TTMMPPDDIIRR environment variable is not set, the file
- is stored in //ttmmpp.
-
- --mmppiioo Allow Fortran I/O to be executed from multiple threads.
- Valid for all ABIs. See FFTTNN__MMPPIIOO(5) for details.
-
- --mmpp__sscchheeddttyyppee== _t_y_p_e
- Causes the same effect as putting a CC$$MMPP__SSCCHHEEDDTTYYPPEE==_t_y_p_e
- directive at the beginning of the file. The following
- are the supported values for _t_y_p_e:
-
- ssiimmppllee iinntteerrlleeaavvee
-
- ddyynnaammiicc ggssss
-
- rruunnttiimmee
-
- --NNCC_n_n_n Set the maximum number of continuation lines. The
- default is 99. Used with --nn3322 or --6644 only.
-
- --nnooaappppeenndd Do not append an underbar to externally-visible names
- (appending an unbar is the default behavior). Used
- with --nn3322 or --6644 only.
-
- --nnooccpppp Do not run the C macro preprocessor on C and assembly
- source files before compiling.
-
- --nnooeexxppoopptt Do not optimize exponential operation. Used with --nn3322
- or --6644 only. This option is used to obtain the same
- precision as releases prior to 4D1-4.0 without using
- the exponentiation optimization. The new optimization
- might give some precision differences in double
- precision exponential operations.
-
- --nnooeexxtteenndd__ssoouurrccee
- Restrict the range of source text from column 1 through
- column 72. Valid for all ABIs.
-
- --nnooff7777 Cause some statements to behave like Fortran 66. Used
- with --nn3322 or --6644 only.
-
- --nnooii44 Make integers and logicals 2 bytes. Used with --nn3322 or
- --6644 only.
-
- --nnoonn__sshhaarreedd Specify that the compiler should build a non-shared
- object. This is the opposite of --KKPPIICC. This option
- causes the linker to search the nnoonnsshhaarreedd subdirectory
- of each default library search directory. See lldd(1)
- for more information. The linker changes the default
- archive extensions to ..aa instead of ..ssoo. The
- appropriate non-shared library images must be
- installed.
-
- Programs built with the --nnoonn__sshhaarreedd option are not
- portable across platforms.
-
- --nnoossttddiinncc Disable searching for ##iinncclluuddee files in the standard
- directory (//uussrr//iinncclluuddee).
-
- --oonneettrriipp or --11 Compile DDOO loops that execute at least once if reached.
- (FORTRAN 77 DDOO loops are not executed if the upper
- limit is smaller than the lower limit.) Valid for all
- ABIs. B
-
- --oo _o_u_t_p_u_t Name the final output file _o_u_t_p_u_t. If this option is
- used, the file aa..oouutt is undisturbed.
-
- --OO_l_e_v_e_l Specify the basic level of optimization desired. _l_e_v_e_l
- can be one of the following values:
-
- _l_e_v_e_l
- Action
-
- 00 Turn off all optimizations. This is the default
- for --nn3322 and --6644 compilations.
-
- 11 Turn on local optimizations that can be done
- quickly. This is the default for --oo3322
- compilations.
-
- --OO or --OO22
- Turn on extensive optimization. The optimizations
- at this level are generally conservative; they are
- usually beneficial, provide improvements
- commensurate to the compile time spent to achieve
- them, and avoid changes which affect such things
- as floating-point accuracy. Under --oo3322 in XPG4
- mode, --OO is not accepted, and the optimization
- level should follow the --OO flag.
-
- 33 Turn on aggressive optimization. The
- optimizations at this level are distinguished from
- 22 by their aggressiveness, generally seeking
- highest-quality generated code even if it requires
- extensive compile time. They may include
- optimizations which are generally beneficial but
- occasionally hurt performance. Under --nn3322 or --6644
- this level also enables the --OOPPTT::rroouunnddooffff==22 option
- which does aggressive rearrangement of floating-
- point calculations with potential effects on
- accuracy.
-
- See the OOPPTT(5) man page for details about the use
- of the --OOPPTT option.
-
- ffaasstt[[==_i_p_x_x]]
- Maximizes performance for the target platform
- specified by _i_p_x_x. Used with --nn3322 or --6644 only.
- The optimizations may differ between releases of
- the compiler, and among the supported platforms.
- The optimizations will always enable the full
- instruction set of the target platform (for
- example, --mmiippss44 for an R10000). The optimizations
- may affect floating point accuracy due to
- rearrangement of computations.
-
- Typical optimizations selected include the
- following:
-
- -O3
- -IPA
- -TARG:platform=_i_p_x_x
- --nn3322
- --OOPPTT::OOlliimmiitt==00::rroouunnddooffff==33::ddiivv__sspplliitt==OONN::aalliiaass==ttyyppeedd
-
- See the description of --TTAARRGG::ppllaattffoorrmm==_i_p_x_x for valid
- values for _i_p_x_x. To determine precisely what options
- are set by --OOffaasstt, use the --LLIISSTT::ooppttiioonnss command. The
- default is an R10000 Power Challenge, iipp2255.
-
- --OOPPTT Invoke the optimization control group. See the OOPPTT(5)
- man page for details about this optimization group.
-
- --PP Run only the C macro preprocessor and put the result
- for each source file (e.g., ..ff, ..FF and ..ss) in a
- corresponding ..ii file. The ..ii file has no ## lines in
- it.
-
- --ppffaa[[_a_r_g]] Run the automatic parallelization pass of the back-end
- (--nn3322 or --6644 only) or the ppffaa preprocessor to
- automatically discover parallelism in the source code.
- This also enables the multiprocessing directives.
-
- _a_r_g can be either lliisstt or kkeeeepp.
-
- --ppffaa lliisstt runs the automatic parallelization option of
- the back-end when used with --nn3322, --6644, or ppffaa --oo3322.
- This also produces a listing file with a ..aannll suffix
- (when used with --nn3322, --6644) or a file with a ..ll suffix
- (when used with --oo3322) explaining which loops were
- parallelized, and if not, why not.
-
- --ppffaa kkeeeepp runs the automatic parallelization option of
- the back-end when used with --nn3322 or --6644 or ppffaa with
- --oo3322 and produces the listing file, and also keeps the
- transformed multiprocessed Fortran intermediate file in
- a file with suffix ..mm.
-
- --ppffaapprreeppaassss Permit source code to be passed through ppffaa multiple
- times. ppffaa is run using the options found on the
- --ppffaapprreeppaassss option, except that no parallel compiler
- directives are generated. The output from this pre-
- pass is then fed back into ppffaa , using the normal
- options. This is useful on some programs. For most
- programs, multiple passes have no effect. This option
- should only be used when it is determined that it will
- be useful. Options to ppffaa appear on the --ppffaapprreeppaassss
- option exactly as in the --WWKK option. Multiple
- --ppffaapprreeppaassss options may be used; they are executed in
- left to right order. This option requires Power
- Fortran 77.
-
- --rr_n Set value for real numbers. Valid for all ABIs. _n can
- be one of the following values:
-
- 44 Use RREEAALL**44 and CCOOMMPPLLEEXX**88 as the defaults for real
- and complex variables when they are not explicitly
- declared with a length. This is the default.
-
- 88 Use RREEAALL**88 and CCOOMMPPLLEEXX**1166 as the defaults for real
- and complex variables when they are not explicitly
- declared with a length. This option is often
- needed when the porting of programs from 64-bit
- machines may result in convergence problems (and
- very long execution time) if the floating-point
- accuracy is inadequate.
-
- 88ccoonnsstt
- Use RREEAALL**88 and CCOOMMPPLLEEXX**1166 as the defaults for real
- and complex constants, respectively, except when
- used as actual arguments. Used with --nn3322 or --6644
- only.
-
- rr55000000 Schedule code for the R5000 and add
- --LL//uussrr//lliibb{{3322,,6644}}//mmiippss{{33,,44}}//rr55000000 to the head of the
- library search path depending on which ABI and ISA is
- specified or implied.
-
- rr88000000 Schedule code for the R8000 and add
- --LL//uussrr//lliibb{{3322,,6644}}//mmiippss{{33,,44}}//rr88000000 to the head of the
- library search path depending on which ABI and ISA is
- specified or implied.
-
- rr1100000000 Schedule code for the R10000 and add
- --LL//uussrr//lliibb{{3322,,6644}}//mmiippss{{33,,44}}//rr1100000000 to the head of the
- library search path depending on which ABI and ISA is
- specified or implied.
-
- --SS Compile the specified source programs and leave the
- symbolic assembly language output in corresponding
- files suffixed with ..ss.
-
- --sshhooww Print the passes as they execute with their arguments
- and their input and output files.
-
- --sshhooww__ddeeffaauullttss List all defaults used in the compiler environment.
- This option does not compile the program.
-
- --ssttaattiicc Cause all local variables to be statically allocated.
- Valid for all ABIs. Statically allocated local
- variables are initialized to zero and exist for the
- life of the program. This option is usually needed for
- programs ported from older systems (for example, VMS)
- where all variables are statically allocated.
-
- --TTAARRGG:: ...... Invoke the target option group, which controls the
- target architecture and machine for which code is
- generated. The following are the individual controls
- in this group:
-
- ppllaattffoorrmm[[==_i_p_x_x]]
- Identify the target SGI platform for
- compilation, choosing the appropriate
- internal parameters (such as cache sizes).
- The following are the currently supported
- values:
-
- iipp1199 iipp2200
-
- iipp2211 iipp2222__44kk
-
- iipp2222__55kk iipp2244
-
- iipp2255 iipp2266
-
- iipp2277 iipp2288
-
- iipp3300 iipp3322__55kk
-
- iipp3322__1100kk
-
- Determine the appropriate selection for your
- platform by using the following command:
-
- hinv -c processor
-
- The first line of the output identifies the
- proper IP number, and for those cases where a
- processor suffix (for example, ''__44kk'')) is
- required, the next line identifies the
- processor (e.g. R4000).
-
- ffpp__pprreecciissee==_f_l_a_g
- Force the target processor into precise
- floating-point mode at execution time. _f_l_a_g
- can be either OONN or OOFFFF. If you use this
- option to compile any of the component source
- files of a program, this feature is invoked
- in the resulting program. This option is
- only meaningful for R8000 target processors,
- and can cause significant performance
- degradation for programs with heavy
- floating-point usage. See the ffppmmooddee(1)
- command for more information.
-
- mmaadddd==_f_l_a_g Enable or disable transformations to use
- multiply/add instructions. _f_l_a_g can be
- either OONN or OOFFFF. These instructions perform
- a multiply and an add with a single round-
- off. They are, therefore, more accurate than
- the usual discrete operations, and may cause
- results to not match baselines from other
- targets. Use this option to determine
- whether observed differences are due to
- mmaaddddss. The default is --TTAARRGG::mmaadddd==OONN for a
- MIPS IV target; it is ignored for others.
-
- pprroocceessssoorr==_t_y_p_e
- Select the processor for which to schedule
- code. _t_y_p_e can be either rr44000000, rr55000000,
- rr88000000, or rr1100000000. The chosen processor must
- support the ISA specified (or implied by the
- ABI).
-
- rr44kkrreevv2222==_f_l_a_g
- Generate code to work around bugs in the
- R4000 rev 2.2 chip. _f_l_a_g can be either OONN or
- OOFFFF. This currently means simulating 64-bit
- variable shifts in the software.
-
- --TTEENNVV:: ...... Invoke the target environment option group, which
- controls the target environment assumed and/or produced
- by the compiler. The following are the individual
- controls in this group:
-
- aalliiggnn__aaggggrreeggaattee==_b_y_t_e_s
- Control alignment of allocated aggregates,
- i.e. arrays and records. The value for _b_y_t_e_s
- specifies that any aggregate object at least
- that large is to be given at least that
- alignment. By default (or if no value is
- provided), aggregates are aligned to the
- integer register size (for example, 8 bytes
- for 64-bit programs and 4 bytes for 32-bit
- programs). The value 0 specifies that the
- minimum alignment consistent with the ABI is
- to be used. Otherwise, the value given must
- be a power of two no greater than 16.
-
- cchheecckk__ddiivv==_N
- See the DDEEBBUUGG__ggrroouupp(5) man page for more
- information.
-
- llaarrggee__GGOOTT==_f_l_a_g
- Assume that the Global Offset Table (for
- shared code) is more than 64K bytes, that is,
- generate large offsets for references to it.
- _f_l_a_g can be either OONN or OOFFFF. The default is
- --TTEENNVV::llaarrggee__GGOOTT==OOFFFF.
-
- ssmmaallll__GGOOTT==_f_l_a_g
- Assume that the Global Offset Table (for
- shared code) is less than 64K bytes, i.e.
- assume small offsets for references to it.
- _f_l_a_g can be either OONN or OOFFFF.
-
- XX==_l_e_v_e_l Specify the level of enabled exceptions that
- will be assumed for purposes of performing
- speculative code motion. _l_e_v_e_l can be a
- number between 1 and 4. The default level is
- 1 when the --OO00, --OO22 options are used; the
- default is 2 when the --OO33 option is used.
-
- In general, an instruction is not speculated
- (that is, moved above a branch by the
- optimizer) unless any exceptions it might
- cause are disabled by this option.
-
- * At level 0, no speculative code motion
- may be performed.
-
- * At level 1, safe speculative code
- motion may be performed, with IEEE-754
- underflow and inexact exceptions
- disabled.
-
- * At level 2, all IEEE-754 exceptions
- are disabled except divide by zero.
-
- * At level 3, all IEEE-754 exceptions
- are disabled including divide by zero.
-
- * At level 4, memory exceptions may be
- disabled or ignored.
-
- NOTE: At levels above the default level 1,
- various hardware exceptions which are
- normally useful for debugging, or which are
- trapped and repaired by the hardware, may be
- disabled or ignored, with the potential of
- hiding obscure bugs. The program should not
- explicitly manipulate the IEEE floating-point
- trap-enable flags in the hardware if this
- option is used.
-
- --UU _n_a_m_e Remove any initial definition of _n_a_m_e.
-
- --uussee__rreeaaddwwrriittee__ccoonnsstt or --uussee__rreeaaddoonnllyy__ccoonnsstt
- Control the use of constants put in writable sections.
- Used with --nn3322 or --6644 only. By default, they are
- writable and thus changeable. However, if you want
- constants to be not writable, then in addition to
- --uussee__rreeaaddoonnllyy__ccoonnsstt you must also specify --GG00
- --rrddaattaa__sshhaarreedd because by default the linker will make
- ..rrooddaattaa and gp-relative sections be on writable pages.
-
- --vveerrssiioonn Display the version number of the compiler. NNoottee: The
- compiler will not be run if this flag is used.
-
- --wwooffff _n_u_m_b_e_r Specify number list for warnings.
-
- In SGI Fortran, warnings can be suppressed. All
- warnings have been given a number, which appears in
- parentheses immediately after the word ``warning'' in
- the warning text. Fortran-specific message have
- numbers greater than 2000 (to make warning numbers
- distinct from those of other front ends), while cpp-
- related warnings have the same warning number as in the
- C front ends. The _n_u_m_b_e_r is a comma-separated set of 1
- or more _n_u_m_b_e_r_s_e_t_s. A _n_u_m_b_e_r_s_e_t is either a simple
- integer or a pair of integers separated by a hyphen.
- Examples:
-
- --wwooffff CC22002266
-
- This suppresses warning 2026.
-
- --wwooffff 22002266--22335522
-
- This suppresses warnings 2026 through 2352.
-
- --wwooffff 22002266--22335522,,22440000--22550000
-
- This suppresses numbers 2026 through 2352 and 2400
- through 2500.
-
- --xxggoott Compile the program using a 32-bit offset in the Global
- Symbol Table (GOT). By default, addresses are loaded
- out of the GOT using a 16-bit offset from a context
- pointer. The default size of the GOT thus is limited to
- 64K bytes, or approximately 8K worth of symbols (16K
- for --oo3322 compiled objects). This can sometimes result
- in a GGOOTT oovveerrffllooww message. The --xxggoott option allows the
- GOT to contain up to 1G of entries; however, the
- resulting executable can be larger and slower and all
- objects must be compiled with the --xxggoott option. --xxggoott
- is a synonym for --TTEENNVV::llaarrggee__GGOOTT. See the description
- of --TTEENNVV for more details.
-
- A better solution for GOT overflow problems is to
- compile the objects without the --xxggoott option and to
- link using the --mmuullttiiggoott option, described in lldd(1).
-
- For more information about the GOT, the --xxggoott option
- and some important notes about its use, see the ddssoo(5)
- man page.
-
- _f_i_l_e._s_u_f_f_i_x File or files to be processed. See the DESCRIPTION
- section of this man page for a discussion of the types
- of files that can be processed.
-
- OOppttiioonnss ffoorr DDeevveellooppmmeenntt
- The following options aid compiler development and are not generally
- used:
-
- --WW _c,,_a_r_g[[,,_a_r_g......]]
- Pass the argument[s] specified by _a_r_g to the compiler
- pass _c. _c is one of the following values, which
- correspond to the following compiler passes:
-
- Compiler pass Value
-
- ccpppp pp
-
- ppffaa KK (Power Fortran 77 only)
-
- mmffeeff7777 ff
-
- bbee bb
-
- aassmm aa
-
- lldd ll
-
- Sets of these phase names can be used to select any
- combination of phases. In the following example, the
- option --oo ffoooo is passed to the bb and aa phases:
-
- -Wba,-o,foo
-
- --YY _c,,_p_a_t_h Sets the _p_a_t_h in which to find the associated phase,
- using the same phase names as given in the --WW option.
- Also, the letter II can be used to specify where to
- search for include files; the letter SS can be used to
- specify where to search for startup files (ccrrtt**..oo); and
- the letter LL can be used to specify where to search for
- libraries.
-
- DDeeffaauullttss SSppeecciiffiiccaattiioonn FFiilleess
- The compiler provides a method by which you can customize the
- Application Binary Interface (ABI), Instruction Set Architecture (ISA)
- and processor type used in compilations where they are not explicitly
- specified. Under this method, the CCOOMMPPIILLEERR__DDEEFFAAUULLTTSS__PPAATTHH environment
- variable can be set to a colon-separated list of paths where the
- compiler will look for a ccoommppiilleerr..ddeeffaauullttss file. If no
- ccoommppiilleerr..ddeeffaauullttss file is found or if the environment variable is not
- set, the compiler looks for //eettcc//ccoommppiilleerr..ddeeffaauullttss file. If that file
- is not found, the compiler uses the built-in defaults.
-
- The ccoommppiilleerr..ddeeffaauullttss file contains a --DDEEFFAAUULLTT:: option group specifier
- that can be used to specify the default ABI, ISA, processor, and
- optimization level. A warning is issued if anything other than a
- --DDEEFFAAUULLTT:: option is given in the ccoommppiilleerr..ddeeffaauullttss file.
-
- The format of the --DDEEFFAAUULLTT:: option group specifier is as follows:
-
- --DDEEFFAAUULLTT::[[aabbii==_a_b_i_t_y_p_e]][[::iissaa==_i_s_a_t_y_p_e]] [[::pprroocc==_r_t_y_p_e]]
- [[::oopptt==_l_e_v_e_l]][[::aarriitthh==_n_u_m_b_e_r]]
-
- The following values are valid for the arguments:
-
- _a_b_i_t_y_p_e ABI selections:
-
- oo3322 32-bit
-
- nn3322 high performance, n32
-
- 6644 64-bit
-
- _i_s_a_t_y_p_e ISA selections:
-
- mmiippss11 R3000 and above
-
- mmiippss22 R4000 and above
-
- mmiippss33 R4000 and above
-
- mmiippss44 R5000, R8000 and R10000
-
- _r_t_y_p_e pprroocc selections indicate which processor schedules instructions
- by default and which paths will be added to the head of the library
- search path:
-
- rr44kk
-
- rr55kk
-
- rr88kk
-
- rr1100kk
-
- _l_e_v_e_l oopptt selections indicate which optimization level to use as the
- default:
-
- 00 11
-
- 22 33
-
- If this is not specified, the compiler defaults to --OO00.
-
- The aarriitthh _n_u_m_b_e_r selection indicates which --OOPPTT::IIEEEEEE__aarriitthh== value to
- use as the default. Choose a number between 11 and 33.
-
- The --sshhooww__ddeeffaauullttss option can be used to print the ccoommppiilleerr..ddeeffaauullttss
- file being used and their values. This option is for diagnostic
- purposes only; it does not compile your program.
-
- The SSGGII__AABBII environment variable overrides the ABI default in the
- ccoommppiilleerr..ddeeffaauullttss file. In addition, explicit command line options
- can override all the defaults. For example, the following command:
-
- f77 -64 foo.c
-
- overrides a ccoommppiilleerr..ddeeffaauullttss file containing the following:
-
- -DEFAULT:abi=n32:isa=mips4:proc=r10k
-
- The command also performs the following compilation:
-
- -64 -mips4 -r10000
-
- If you used the following in the above example:
-
- f77 -o32 foo.c
-
- it will not only override the ABI and use --oo3322,, but it also
- overrides the ISA to use --mmiippss22,, because --oo3322 supports only
- --mmiippss22 and --mmiippss11 compilations. The processor type is ignored by
- --oo3322 compilations.
-
- LLOOAADDEERR OOPPTTIIOONNSS
- Other arguments are assumed to be either loader options or CC
- -compatible object files, typically produced by an earlier ff7777 run, or
- libraries of CC -compatible routines. These files, together with the
- results of any compilations specified, are loaded in the order given,
- producing an executable program with the default name aa..oouutt..
-
- EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
- For information about environment variables, see the ppee__eennvviirroonn(5) man
- page.
-
- BBUUGGSS
- The compiler attempts to continue after finding semantic errors.
- These errors may result in compiler internal errors.
-
- NNOOTTEESS
- The standard library, //uussrr//lliibb//lliibbcc..ssoo..11, is loaded by using the --llcc
- loader option and not a full path name. If lliibbcc..ssoo..11 is specified
- explicitly, the wrong version could be loaded if there are files with
- the name libc.so.1 in the directories specified with the --LL loader
- option or in the default directories searched by the loader.
-
- When using the Graphics Library (--llggll), you must also specify the
- Fortran Graphics Library Interface (--llffggll) on the link line. For
- example:
-
- f77 file.f -lfgl -lgl
-
- Applications which provide their own eexxiitt function will not work with
- profiling (no profile data will be written out).
-
- EEXXAAMMPPLLEESS
- The following example compiles 64-bit MIPS IV (R8000, R10000, R5000)
- code, which does not run on R4000/R4400 processors.
-
- f77 -64 -mips4 _o_t_h_e_r _o_p_t_i_o_n_s
-
- The following example compiles 64-bit ABI (MIPS 3) code, scheduled for
- best performance on the R8000 processor but not using R8000-specific
- (MIPS IV) instructions so that it will be executable on R4000/R4400
- processors.
-
- f77 -64 -TARG:proc=r8000 <other options>
-
- The following example compiles code with extensive optimization
- enabled, allowing transformations which affect floating-point round-
- off and overflow, assuming strict ANSI C aliasing rules.
-
- f77 ... -O2 -OPT:roundoff=2:alias=typed ....IP "" 5
-
- The following example compiles code with aggressive optimization
- (including software pipelining) enabled, allowing transformations with
- arbitrary effects on floating-point round-off and overflow.
-
- f77 ... -O3 -OPT:roundoff=3.PD
-
- FFIILLEESS
- ffiillee..ff input file
-
- ffiillee..oo object file
-
- ffiillee..ll listing file
-
- aa..oouutt loaded output
-
- //ttmmpp//ccttmm** temporaries
-
- //uussrr//lliibb//ccpppp C macro preprocessor
-
- //uussrr//bbiinn//ccoorrdd procedure rearranger
-
- //uussrr//lliibb3322//ccmmppllrrss//mmffeeff7777 fortran front-end (--nn3322 and --6644)
-
- //uussrr//lliibb3322//ccmmppllrrss//bbee code generator (--nn3322 and --6644)
-
- //uussrr//lliibb3322//ccmmppllrrss//aassmm assembler (--nn3322 and --6644)
-
- //uussrr//lliibb**//mmccrrtt11..oo startup for profiling
-
- //uussrr//lliibb**//ccrrtt11..oo runtime startup
-
- //uussrr//lliibb**//ccrrttnn..oo runtime startup
-
- //uussrr//lliibb**//lliibbcc..aa standard library, see iinnttrroo(3)
-
- //uussrr//lliibb**//lliibbcc..ssoo..11 shared standard library
-
- //uussrr//lliibb**//lliibbffppee..aa floating-point exception handler
- library, see ssiiggffppee(3c)
-
- //uussrr//lliibb**//lliibbffttnn..ssoo fortran runtime library
-
- //uussrr//lliibb**//lliibbggll..ssoo IRIS-4D shared graphics library
-
- //uussrr//lliibb**//lliibbmm..aa math library
-
- //uussrr//lliibb**//lliibbmm..ssoo shared math library
-
- //uussrr//iinncclluuddee standard directory for `##iinncclluuddee'
- files
-
- //uussrr//bbiinn//lldd SGI loader
-
- //uussrr//bbiinn//rraattffoorr rational FORTRAN dialect
- preprocessor
-
- mmoonn..oouutt file produced for analysis by
- pprrooff(1)
-
- SSEEEE AALLSSOO
- _M_I_P_S_p_r_o _F_o_r_t_r_a_n _7_7 _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l
- _M_I_P_S_p_r_o _F_o_r_t_r_a_n _7_7 _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_e
- aass(1), cccc(1), ccoolllliiddee(1), ccpppp(1), ddbbxx(1), ddiiss(1), ffoopptt(1), ffttoocc(1),
- lldd(1), nnmm(1), eellffdduummpp(1), ppiixxiiee(1), ppffaa(1), pprrooff(1), rraattffoorr(1),
- ssppeeeeddsshhoopp(1), wwhhaatt(1),
-
- ggeettaabbii(3c), ssiiggffppee(3c).
-
- llnnoo(5), oopptt(5)
-
- _M_I_P_S_P_r_o _7 _F_o_r_t_r_a_n _9_0 _C_o_m_m_a_n_d_s _a_n_d _D_i_r_e_c_t_i_v_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l,
- publication SR-3907
-
- This man page is available only online.
-